import axios from 'axios'
import store from '../store'
import { Notification } from 'element-ui';
import { getToken } from './auth'

const service = axios.create({
  baseURL: 'http://59.110.161.163:8088',
})

// 请求拦截器
// service.interceptors.request.use(
//   config => {
//     // 可以在这里设置header
//     if (config.url !== '/login') {
//       config.headers.token = getToken();
//     }
//     return config
//   }
// )

service.interceptors.response.use(
  res => {
    if (res.data.code !== '200' && res.data.code !== '403') {
      if (res.data.code === '401' || res.data.code === '402') {
        this.$router.push('/login');
        res.data.code === '401' ? Notification({
          type: 'info',
          title: '信息',
          message: '请登录',
        }) : Notification({
          type: 'info',
          title: '信息',
          message: '登录过期，请重新登录',
        });
        store.dispatch('user/resetToken').then(() => {
          location.reload()
        })
      } else {
        Notification({
          type: 'error',
          title: '错误',
          message: res.data.data.msg || 'error',
        });
        return Promise.reject(res.data.data.msg || 'error');
      }
    }
    return res.data.data
  }
)

export default service